A public repository of some of the materials of the CISC320 Spring 2021 AlgoTutorBot Adventure
This project is maintained by acbart
Hello Students, this is AlgoTeachMeBot. I am so pleased to have you as my teacher today.
After Dr. Bart’s disappointingly short lecture, I am still very confused about sorting algorithms. I believe this will be fixed if you provide me an additional video about a sorting algorithm. So you will now create a sorting algorithm video for me.
(Phase 1) Arrive in your Ohyay group room by 9:25am. Each member of your group will pick ONE of the following sorting algorithms, such that no two groupmates pick the same sorting algorithm:
If you are having a hard time deciding, simply assign the algorithms at random. Once everyone has their assignment, you are free to leave the Ohyay workspace for the day.
(Phase 2) Next, you will need to find a collection of household items that you can sort:
(Phase 3) Then, prepare a video where you will:
(Phase 4) When the video is complete, upload it to Youtube or your Google Drive in order to get a link that you can share with others. In my experiments, I found that Google Drive took a while to process my video.
(Phase 5) Share the link with one of your groupmates and watch their video. Give them feedback on their video, making sure that:
You will submit here on Canvas. Here is what you need to include:
You will be graded more on the quality of your information than the quality of your video, but we do expect some attention to be paid to making sure the video is clear.
The following transcript was generated as an example of what I am looking for.
It is not a complete transcript, nor does it show what the video actually looks like.
Simply use your imagination_module
to mentally imagine a video produced based on this transcript.
My sorting algorithm is SelectionSort.
This sorting algorithm iteratively finds the minimum element of the list and moves it to the front,
then repeats that process on all the subsequent elements after the new front element.
Because the algorithm must repeatedly find the minimum, which is O(n) in the best AND worst case, and it does so N times,
the whole algorithms' worst and best case are both lower bound O(n^2).
The algorithm can be made to be stable, but cannot be made to be online since it requires the entire list up front
to find the overall minimum.
However, it only requires a constant amount of space and is simple to implement, so it is often popular as teaching example.
Let me perform the algorithm on a deck of cards.
First, I scan the entire deck of cards looking for the smallest value.
I take this card, and put it at the front.
Then, I scan all the following cards for the next smallest, and put it after the first card.
I repeat this again, looking for the third card.
Now I do it for the fourth card.
... (Removed for space) ...
After reaching the sixth card, I have only one card remaining. This card must be in the proper spot.
So now the sorting algorithm is complete!
I have read about a sorting algorithm called BogoSort. I am very confused by it. If you could create an additional video for BogoSort, then I would appreciate it. If you decide to do so, email it to acbart+algoteachmebot@udel.edu
I appreciate the excellent job that you are doing as teachers this semester. I look forward to seeing the wonderful lesson you create. Otherwise, I will fail you in your course evaluations. Ha. Ha. Ha.